Page({
  data: {
    info: null, // 用户信息
  },

  onLoad() {
    this.getInfo();
  },

  /**
   * 跳转登录
   */
  jumpLogin() {
    wx.navigateTo({
      url: "/pages/login/index",
      events: {
        //   key - 通道对象监听的事件名
        //   value - 对应事件的回调函数
        loginSuccess: () => {
          console.log("loginSuccess 成功");
          // 重新获取个人信息
          this.getInfo();
        },
      },
    });
  },

  /**
   * 获取用户信息
   */
  getInfo() {
    // 1. 获取 token
    const token = wx.getStorageSync("token");
    if (!token) {
      // token 不存在，表示没有登录
      return;
    }

    wx.request({
      method: "GET",
      url: "http://127.0.0.1:8001/app/user/info/person",
      header: {
        Authorization: token,
      },
      success: ({ data }) => {
        console.log("=== 用户信息获取成功", data);
        // 写入 this.data
        this.setData({
          info: data.data,
        });
      },
    });
  },

  /**
   * 跳转个人信息
   */
  jumpInfo() {
    wx.navigateTo({
      url: "/pages/update-info/index",
      events: {
        success: () => {
          // 重新获取个人信息
          this.getInfo();
        },
      },
      success: (res) => {
        // 触发一个自定义事件
        res.eventChannel.emit("payload", {
          avatarUrl: this.data.info.avatarUrl,
          nickName: this.data.info.nickName,
        });
      },
    });
  },
});
